<html>
<head>
	<title>Serialization benchmark results</title>
	<link href='default.css' rel='stylesheet' type='text/css' />
</head>
<body>

<h2>Serialization results of <span>Northwind database serializtion perf</span> run at 04/02/2010</h2>
<h3>Results of serializing and deserializing CategoryDto 1000 times</h3><table>
<caption>* All times measured in ticks and payload size in bytes</caption><thead><tr><th>Serializer</th><th>Payload size</th><th>Larger than best</th><th>Serialization</th><th>Deserialization</th><th>Total</th><th>Avg per iteration</th><th>slower than best</th></tr></thead>
<tbody>
<tr><th class='c1'>Microsoft.DataContractSerializer</th><td>1416</td><th>3.72x</th><td>139111</td><td>229395</td><td>368506</td><td>368.506</td><th>5.89x</th></tr><tr><th class='c1'>Microsoft.JsonDataContractSerializer</th><td>792</td><th>2.08x</th><td>103662</td><td>312090</td><td>415752</td><td>415.752</td><th>6.65x</th></tr><tr><th class='c1'>ProtoBuf.net</th><td>381</td><th>1x</th><td>29827</td><td>32695</td><td>62522</td><td>62.522</td><th>1x</th></tr><tr><th class='c1'>NewtonSoft.Json</th><td>790</td><th>2.07x</th><td>139393</td><td>408797</td><td>548190</td><td>548.19</td><th>8.77x</th></tr><tr><th class='c1'>ServiceStack.TypeSerializer</th><td>598</td><th>1.57x</th><td>64104</td><td>113100</td><td>177204</td><td>177.204</td><th>2.83x</th></tr><tr><th class='c1'>Platform.TextSerializer</th><td>622</td><th>1.63x</th><td>58729</td><td>155455</td><td>214184</td><td>214.184</td><th>3.43x</th></tr>
</tbody>
</table>
<h3>Results of serializing and deserializing CustomerDto 1000 times</h3><table>
<caption>* All times measured in ticks and payload size in bytes</caption><thead><tr><th>Serializer</th><th>Payload size</th><th>Larger than best</th><th>Serialization</th><th>Deserialization</th><th>Total</th><th>Avg per iteration</th><th>slower than best</th></tr></thead>
<tbody>
<tr><th class='c1'>Microsoft.DataContractSerializer</th><td>34814</td><th>2.79x</th><td>2838792</td><td>9937989</td><td>12776781</td><td>12776.781</td><th>5.03x</th></tr><tr><th class='c1'>Microsoft.JsonDataContractSerializer</th><td>25234</td><th>2.02x</th><td>3633730</td><td>15609028</td><td>19242758</td><td>19242.758</td><th>7.57x</th></tr><tr><th class='c1'>ProtoBuf.net</th><td>12492</td><th>1x</th><td>1104860</td><td>1436625</td><td>2541485</td><td>2541.485</td><th>1x</th></tr><tr><th class='c1'>NewtonSoft.Json</th><td>25229</td><th>2.02x</th><td>3358253</td><td>6624090</td><td>9982343</td><td>9982.343</td><th>3.93x</th></tr><tr><th class='c1'>ServiceStack.TypeSerializer</th><td>19140</td><th>1.53x</th><td>1749816</td><td>2029573</td><td>3779389</td><td>3779.389</td><th>1.49x</th></tr><tr><th class='c1'>Platform.TextSerializer</th><td>20928</td><th>1.68x</th><td>2298431</td><td>4767447</td><td>7065878</td><td>7065.878</td><th>2.78x</th></tr>
</tbody>
</table>
<h3>Results of serializing and deserializing EmployeeDto 1000 times</h3><table>
<caption>* All times measured in ticks and payload size in bytes</caption><thead><tr><th>Serializer</th><th>Payload size</th><th>Larger than best</th><th>Serialization</th><th>Deserialization</th><th>Total</th><th>Avg per iteration</th><th>slower than best</th></tr></thead>
<tbody>
<tr><th class='c1'>Microsoft.DataContractSerializer</th><td>7626</td><th>1.94x</th><td>683032</td><td>1938815</td><td>2621847</td><td>2621.847</td><th>5.04x</th></tr><tr><th class='c1'>Microsoft.JsonDataContractSerializer</th><td>6277</td><th>1.60x</th><td>1370657</td><td>2483322</td><td>3853979</td><td>3853.979</td><th>7.42x</th></tr><tr><th class='c1'>ProtoBuf.net</th><td>3930</td><th>1x</th><td>272047</td><td>247650</td><td>519697</td><td>519.697</td><th>1x</th></tr><tr><th class='c1'>NewtonSoft.Json</th><td>6241</td><th>1.59x</th><td>813136</td><td>2404052</td><td>3217188</td><td>3217.188</td><th>6.19x</th></tr><tr><th class='c1'>ServiceStack.TypeSerializer</th><td>5187</td><th>1.32x</th><td>980038</td><td>511738</td><td>1491776</td><td>1491.776</td><th>2.87x</th></tr><tr><th class='c1'>Platform.TextSerializer</th><td>5709</td><th>1.45x</th><td>318012</td><td>1518175</td><td>1836187</td><td>1836.187</td><th>3.53x</th></tr>
</tbody>
</table>
<h3>Results of serializing and deserializing EmployeeTerritoryDto 1000 times</h3><table>
<caption>* All times measured in ticks and payload size in bytes</caption><thead><tr><th>Serializer</th><th>Payload size</th><th>Larger than best</th><th>Serialization</th><th>Deserialization</th><th>Total</th><th>Avg per iteration</th><th>slower than best</th></tr></thead>
<tbody>
<tr><th class='c1'>Microsoft.DataContractSerializer</th><td>5236</td><th>5.34x</th><td>256694</td><td>811951</td><td>1068645</td><td>1068.645</td><th>8.29x</th></tr><tr><th class='c1'>Microsoft.JsonDataContractSerializer</th><td>1912</td><th>1.95x</th><td>248678</td><td>1068010</td><td>1316688</td><td>1316.688</td><th>10.21x</th></tr><tr><th class='c1'>ProtoBuf.net</th><td>980</td><th>1x</th><td>128912</td><td>0</td><td>128912</td><td>128.912</td><th>1x</th></tr><tr><th class='c1'>NewtonSoft.Json</th><td>2647</td><th>2.70x</th><td>493624</td><td>974111</td><td>1467735</td><td>1467.735</td><th>11.39x</th></tr><tr><th class='c1'>ServiceStack.TypeSerializer</th><td>2157</td><th>2.20x</th><td>181452</td><td>202452</td><td>383904</td><td>383.904</td><th>2.98x</th></tr><tr><th class='c1'>Platform.TextSerializer</th><td>1716</td><th>1.75x</th><td>106196</td><td>340098</td><td>446294</td><td>446.294</td><th>3.46x</th></tr>
</tbody>
</table>
<h3>Results of serializing and deserializing OrderDetailDto 1000 times</h3><table>
<caption>* All times measured in ticks and payload size in bytes</caption><thead><tr><th>Serializer</th><th>Payload size</th><th>Larger than best</th><th>Serialization</th><th>Deserialization</th><th>Total</th><th>Avg per iteration</th><th>slower than best</th></tr></thead>
<tbody>
<tr><th class='c1'>Microsoft.DataContractSerializer</th><td>331678</td><th>5.50x</th><td>26880935</td><td>108973211</td><td>135854146</td><td>135854.146</td><th>8.92x</th></tr><tr><th class='c1'>Microsoft.JsonDataContractSerializer</th><td>165567</td><th>2.75x</th><td>49844646</td><td>196346099</td><td>246190745</td><td>246190.745</td><th>16.17x</th></tr><tr><th class='c1'>ProtoBuf.net</th><td>60253</td><th>1x</th><td>15224101</td><td>0</td><td>15224101</td><td>15224.101</td><th>1x</th></tr><tr><th class='c1'>NewtonSoft.Json</th><td>204384</td><th>3.39x</th><td>83207739</td><td>151778809</td><td>234986548</td><td>234986.548</td><th>15.44x</th></tr><tr><th class='c1'>ServiceStack.TypeSerializer</th><td>169694</td><th>2.82x</th><td>35853285</td><td>42415894</td><td>78269179</td><td>78269.179</td><th>5.14x</th></tr><tr><th class='c1'>Platform.TextSerializer</th><td>127182</td><th>2.11x</th><td>12305504</td><td>44613701</td><td>56919205</td><td>56919.205</td><th>3.74x</th></tr>
</tbody>
</table>
<h3>Results of serializing and deserializing OrderDto 1000 times</h3><table>
<caption>* All times measured in ticks and payload size in bytes</caption><thead><tr><th>Serializer</th><th>Payload size</th><th>Larger than best</th><th>Serialization</th><th>Deserialization</th><th>Total</th><th>Avg per iteration</th><th>slower than best</th></tr></thead>
<tbody>
<tr><th class='c1'>Microsoft.DataContractSerializer</th><td>400652</td><th>4.42x</th><td>45622990</td><td>118694375</td><td>164317365</td><td>164317.365</td><th>7.83x</th></tr><tr><th class='c1'>Microsoft.JsonDataContractSerializer</th><td>302174</td><th>3.34x</th><td>79773341</td><td>254333331</td><td>334106672</td><td>334106.672</td><th>15.93x</th></tr><tr><th class='c1'>ProtoBuf.net</th><td>90569</td><th>1x</th><td>10003694</td><td>10970580</td><td>20974274</td><td>20974.274</td><th>1x</th></tr><tr><th class='c1'>NewtonSoft.Json</th><td>302158</td><th>3.34x</th><td>82910434</td><td>143064185</td><td>225974619</td><td>225974.619</td><th>10.77x</th></tr><tr><th class='c1'>ServiceStack.TypeSerializer</th><td>212942</td><th>2.35x</th><td>39236326</td><td>34917334</td><td>74153660</td><td>74153.66</td><th>3.54x</th></tr><tr><th class='c1'>Platform.TextSerializer</th><td>252061</td><th>2.78x</th><td>28259469</td><td>69241695</td><td>97501164</td><td>97501.164</td><th>4.65x</th></tr>
</tbody>
</table>
<h3>Results of serializing and deserializing ProductDto 1000 times</h3><table>
<caption>* All times measured in ticks and payload size in bytes</caption><thead><tr><th>Serializer</th><th>Payload size</th><th>Larger than best</th><th>Serialization</th><th>Deserialization</th><th>Total</th><th>Avg per iteration</th><th>slower than best</th></tr></thead>
<tbody>
<tr><th class='c1'>Microsoft.DataContractSerializer</th><td>25851</td><th>6.39x</th><td>1802425</td><td>6275592</td><td>8078017</td><td>8078.017</td><th>17.21x</th></tr><tr><th class='c1'>Microsoft.JsonDataContractSerializer</th><td>15365</td><th>3.80x</th><td>1769644</td><td>10849607</td><td>12619251</td><td>12619.251</td><th>26.89x</th></tr><tr><th class='c1'>ProtoBuf.net</th><td>4044</td><th>1x</th><td>469351</td><td>0</td><td>469351</td><td>469.351</td><th>1x</th></tr><tr><th class='c1'>NewtonSoft.Json</th><td>15449</td><th>3.82x</th><td>2873118</td><td>7529010</td><td>10402128</td><td>10402.128</td><th>22.16x</th></tr><tr><th class='c1'>ServiceStack.TypeSerializer</th><td>13517</td><th>3.34x</th><td>1300322</td><td>1520225</td><td>2820547</td><td>2820.547</td><th>6.01x</th></tr><tr><th class='c1'>Platform.TextSerializer</th><td>11103</td><th>2.75x</th><td>725146</td><td>2940308</td><td>3665454</td><td>3665.454</td><th>7.81x</th></tr>
</tbody>
</table>
<h3>Results of serializing and deserializing RegionDto 1000 times</h3><table>
<caption>* All times measured in ticks and payload size in bytes</caption><thead><tr><th>Serializer</th><th>Payload size</th><th>Larger than best</th><th>Serialization</th><th>Deserialization</th><th>Total</th><th>Avg per iteration</th><th>slower than best</th></tr></thead>
<tbody>
<tr><th class='c1'>Microsoft.DataContractSerializer</th><td>485</td><th>8.98x</th><td>48211</td><td>93149</td><td>141360</td><td>141.36</td><th>20.08x</th></tr><tr><th class='c1'>Microsoft.JsonDataContractSerializer</th><td>159</td><th>2.94x</th><td>32935</td><td>133319</td><td>166254</td><td>166.254</td><th>23.61x</th></tr><tr><th class='c1'>ProtoBuf.net</th><td>54</td><th>1x</th><td>7041</td><td>0</td><td>7041</td><td>7.041</td><th>1x</th></tr><tr><th class='c1'>NewtonSoft.Json</th><td>159</td><th>2.94x</th><td>55527</td><td>94648</td><td>150175</td><td>150.175</td><th>21.33x</th></tr><tr><th class='c1'>ServiceStack.TypeSerializer</th><td>135</td><th>2.5x</th><td>18961</td><td>13679</td><td>32640</td><td>32.64</td><th>4.64x</th></tr><tr><th class='c1'>Platform.TextSerializer</th><td>143</td><th>2.65x</th><td>9534</td><td>31781</td><td>41315</td><td>41.315</td><th>5.87x</th></tr>
</tbody>
</table>
<h3>Results of serializing and deserializing ShipperDto 1000 times</h3><table>
<caption>* All times measured in ticks and payload size in bytes</caption><thead><tr><th>Serializer</th><th>Payload size</th><th>Larger than best</th><th>Serialization</th><th>Deserialization</th><th>Total</th><th>Avg per iteration</th><th>slower than best</th></tr></thead>
<tbody>
<tr><th class='c1'>Microsoft.DataContractSerializer</th><td>486</td><th>4.42x</th><td>33774</td><td>68144</td><td>101918</td><td>101.918</td><th>2.37x</th></tr><tr><th class='c1'>Microsoft.JsonDataContractSerializer</th><td>198</td><th>1.8x</th><td>36833</td><td>113518</td><td>150351</td><td>150.351</td><th>3.50x</th></tr><tr><th class='c1'>ProtoBuf.net</th><td>110</td><th>1x</th><td>44972</td><td>9250</td><td>54222</td><td>54.222</td><th>1.26x</th></tr><tr><th class='c1'>NewtonSoft.Json</th><td>198</td><th>1.8x</th><td>63910</td><td>105524</td><td>169434</td><td>169.434</td><th>3.94x</th></tr><tr><th class='c1'>ServiceStack.TypeSerializer</th><td>168</td><th>1.53x</th><td>29743</td><td>13239</td><td>42982</td><td>42.982</td><th>1x</th></tr><tr><th class='c1'>Platform.TextSerializer</th><td>180</td><th>1.64x</th><td>21830</td><td>47956</td><td>69786</td><td>69.786</td><th>1.62x</th></tr>
</tbody>
</table>
<h3>Results of serializing and deserializing SupplierDto 1000 times</h3><table>
<caption>* All times measured in ticks and payload size in bytes</caption><thead><tr><th>Serializer</th><th>Payload size</th><th>Larger than best</th><th>Serialization</th><th>Deserialization</th><th>Total</th><th>Avg per iteration</th><th>slower than best</th></tr></thead>
<tbody>
<tr><th class='c1'>Microsoft.DataContractSerializer</th><td>11521</td><th>2.79x</th><td>859355</td><td>2680368</td><td>3539723</td><td>3539.723</td><th>4.43x</th></tr><tr><th class='c1'>Microsoft.JsonDataContractSerializer</th><td>8253</td><th>2.00x</th><td>788381</td><td>4180414</td><td>4968795</td><td>4968.795</td><th>6.22x</th></tr><tr><th class='c1'>ProtoBuf.net</th><td>4135</td><th>1x</th><td>342933</td><td>455865</td><td>798798</td><td>798.798</td><th>1x</th></tr><tr><th class='c1'>NewtonSoft.Json</th><td>8238</td><th>1.99x</th><td>1050313</td><td>2242260</td><td>3292573</td><td>3292.573</td><th>4.12x</th></tr><tr><th class='c1'>ServiceStack.TypeSerializer</th><td>6322</td><th>1.53x</th><td>533296</td><td>670895</td><td>1204191</td><td>1204.191</td><th>1.51x</th></tr><tr><th class='c1'>Platform.TextSerializer</th><td>6822</td><th>1.65x</th><td>567843</td><td>1277756</td><td>1845599</td><td>1845.599</td><th>2.31x</th></tr>
</tbody>
</table>
<h3>Results of serializing and deserializing TerritoryDto 1000 times</h3><table>
<caption>* All times measured in ticks and payload size in bytes</caption><thead><tr><th>Serializer</th><th>Payload size</th><th>Larger than best</th><th>Serialization</th><th>Deserialization</th><th>Total</th><th>Avg per iteration</th><th>slower than best</th></tr></thead>
<tbody>
<tr><th class='c1'>Microsoft.DataContractSerializer</th><td>6459</td><th>5.64x</th><td>457326</td><td>1455196</td><td>1912522</td><td>1912.522</td><th>6.62x</th></tr><tr><th class='c1'>Microsoft.JsonDataContractSerializer</th><td>3319</td><th>2.90x</th><td>515816</td><td>1882636</td><td>2398452</td><td>2398.452</td><th>8.30x</th></tr><tr><th class='c1'>ProtoBuf.net</th><td>1145</td><th>1x</th><td>129319</td><td>159772</td><td>289091</td><td>289.091</td><th>1x</th></tr><tr><th class='c1'>NewtonSoft.Json</th><td>3319</td><th>2.90x</th><td>560613</td><td>1193296</td><td>1753909</td><td>1753.909</td><th>6.07x</th></tr><tr><th class='c1'>ServiceStack.TypeSerializer</th><td>2789</td><th>2.44x</th><td>216192</td><td>331329</td><td>547521</td><td>547.521</td><th>1.89x</th></tr><tr><th class='c1'>Platform.TextSerializer</th><td>3001</td><th>2.62x</th><td>217954</td><td>653390</td><td>871344</td><td>871.344</td><th>3.01x</th></tr>
</tbody>
</table>
</body>
</html>

